﻿using System;

namespace RootMotion.FinalIK
{
	// Token: 0x02000028 RID: 40
	public abstract class IK : SolverManager
	{
		// Token: 0x06000212 RID: 530
		public abstract IKSolver GetIKSolver();

		// Token: 0x06000213 RID: 531 RVA: 0x00003700 File Offset: 0x00001900
		public override void UpdateSolver()
		{
			if (!this.GetIKSolver().initiated)
			{
				this.InitiateSolver();
			}
			if (!this.GetIKSolver().initiated)
			{
				return;
			}
			this.GetIKSolver().Update();
		}

		// Token: 0x06000214 RID: 532 RVA: 0x00003734 File Offset: 0x00001934
		public override void InitiateSolver()
		{
			if (this.GetIKSolver().initiated)
			{
				return;
			}
			this.GetIKSolver().Initiate(base.transform);
		}

		// Token: 0x06000215 RID: 533 RVA: 0x00003758 File Offset: 0x00001958
		public override void FixTransforms()
		{
			if (!this.GetIKSolver().initiated)
			{
				return;
			}
			this.GetIKSolver().FixTransforms();
		}

		// Token: 0x06000216 RID: 534
		public abstract void OpenUserManual();

		// Token: 0x06000217 RID: 535
		public abstract void OpenScriptReference();
	}
}
